package com.sunny.fetch.pojo;

import javax.persistence.*;

@Table(name = "f_top10_holders")
public class FTop10Holders {
    @Id
    private Long tid;

    /**
     * TS股票代码
     */
    @Column(name = "ts_code")
    private String tsCode;

    /**
     * 公告日期
     */
    @Column(name = "ann_date")
    private String annDate;

    /**
     * 报告期
     */
    @Column(name = "end_date")
    private String endDate;

    /**
     * 股东名称
     */
    @Column(name = "holder_name")
    private String holderName;

    /**
     * 持有数量（股）
     */
    @Column(name = "hold_amount")
    private Float holdAmount;

    /**
     * 持有比例
     */
    @Column(name = "hold_ratio")
    private Float holdRatio;

    public FTop10Holders(Long tid, String tsCode, String annDate, String endDate, String holderName, Float holdAmount, Float holdRatio) {
        this.tid = tid;
        this.tsCode = tsCode;
        this.annDate = annDate;
        this.endDate = endDate;
        this.holderName = holderName;
        this.holdAmount = holdAmount;
        this.holdRatio = holdRatio;
    }

    public FTop10Holders() {
        super();
    }

    /**
     * @return tid
     */
    public Long getTid() {
        return tid;
    }

    /**
     * @param tid
     */
    public void setTid(Long tid) {
        this.tid = tid;
    }

    /**
     * 获取TS股票代码
     *
     * @return ts_code - TS股票代码
     */
    public String getTsCode() {
        return tsCode;
    }

    /**
     * 设置TS股票代码
     *
     * @param tsCode TS股票代码
     */
    public void setTsCode(String tsCode) {
        this.tsCode = tsCode;
    }

    /**
     * 获取公告日期
     *
     * @return ann_date - 公告日期
     */
    public String getAnnDate() {
        return annDate;
    }

    /**
     * 设置公告日期
     *
     * @param annDate 公告日期
     */
    public void setAnnDate(String annDate) {
        this.annDate = annDate;
    }

    /**
     * 获取报告期
     *
     * @return end_date - 报告期
     */
    public String getEndDate() {
        return endDate;
    }

    /**
     * 设置报告期
     *
     * @param endDate 报告期
     */
    public void setEndDate(String endDate) {
        this.endDate = endDate;
    }

    /**
     * 获取股东名称
     *
     * @return holder_name - 股东名称
     */
    public String getHolderName() {
        return holderName;
    }

    /**
     * 设置股东名称
     *
     * @param holderName 股东名称
     */
    public void setHolderName(String holderName) {
        this.holderName = holderName;
    }

    /**
     * 获取持有数量（股）
     *
     * @return hold_amount - 持有数量（股）
     */
    public Float getHoldAmount() {
        return holdAmount;
    }

    /**
     * 设置持有数量（股）
     *
     * @param holdAmount 持有数量（股）
     */
    public void setHoldAmount(Float holdAmount) {
        this.holdAmount = holdAmount;
    }

    /**
     * 获取持有比例
     *
     * @return hold_ratio - 持有比例
     */
    public Float getHoldRatio() {
        return holdRatio;
    }

    /**
     * 设置持有比例
     *
     * @param holdRatio 持有比例
     */
    public void setHoldRatio(Float holdRatio) {
        this.holdRatio = holdRatio;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", tid=").append(tid);
        sb.append(", tsCode=").append(tsCode);
        sb.append(", annDate=").append(annDate);
        sb.append(", endDate=").append(endDate);
        sb.append(", holderName=").append(holderName);
        sb.append(", holdAmount=").append(holdAmount);
        sb.append(", holdRatio=").append(holdRatio);
        sb.append("]");
        return sb.toString();
    }
}